1. Field of the Invention
The present invention is related to the field of data processing. More specifically, the present invention is related to the rendering of display data.
2. Background Information
With advances in integrated circuit, microprocessor, networking and communication technologies, increasing number of devices, in particular, digital computing devices, are being networked together (wirelessly or via wire lines). As a result of this trend of increased connectivity, increasing number of client/server based and network dependent applications are being deployed. Examples of these client/server based and network dependent applications include but are not limited to, email, net based telephony, world wide web and various types of e-commerce.
Among the client/server based and network dependent applications, thin-client architecture, also known as web-client architecture, perhaps because of its xe2x80x9cease of implementationxe2x80x9d on the client side, is especially popular. Typically, the architecture merely involves a xe2x80x9cuser-agentxe2x80x9d, such as a Web browser or a WAP (Wireless Access Protocol) Browser, on the client side. There is no need for the client to have any application specific programs installed. Application specific logic are run on the server side, and the client just has to run the browser to render the content to displayed at a particular point in time (provided by the server or servers). Each collection instance of these content is often referred as a xe2x80x9cpagexe2x80x9d or a xe2x80x9cweb pagexe2x80x9d. Typically, the browser retrieves for each page, a set of descriptions specifying the content to be displayed and their layout, and then the content themselves from the server or other servers. The descriptions are typically authored in a browser specific language, such as HTML (Hypertext Markup Language) for Web browser, HDML/WML (Handheld Device Markup Language or Wireless Markup Language) for WAP browser. The browser then renders the content on a display screen as specified by the retrieved descriptions, in the order the contents are received.
Often time, a user may be interested in only a portion of the page, e.g. in a log-in home page, where the user is just interested in getting the log-in xe2x80x9cboxxe2x80x9d rendered, so the user can start the log-in process, or a user is interested in only a particular summary section of a customized home page (such as a stock summary section, a headline section, a sport section or a weather section, where the user can quickly take a look at the latest information on whatever the subject of interest may be (e.g. latest stock prices for a short list of stocks, latest headlines, latest sport scores, latest weather and so forth).
Under prior art browsers, a user has no control over the order in which the various sections of a page is displayed. If the section or sections of most interest happen to be displayed last or near last, that""s just tough luck for the user. Thus, under the prior art, users are often frustrated, in waiting for the section or sections of interest to be displayed.
Accordingly, a more user friendly approach to rendering display content is desired.
The present invention addresses the foregoing desires by providing a method and system that enables users to control the order in which objects are rendered on a display page. In accord with the method, a main HTML document corresponding to the display page is requested from a network server, such as an Internet web server, and the web server initiates sending of the document to a client comprising a browser running on a computer the user is operating. The main document comprises markup language code, such as HTML, which is used to define the layout of internal text objects included in the document and external text and graphic objects referenced by the document. For instance, the document may contain references to separately stored graphic images; in such instances, files corresponding to these graphic images will be sent by the network server to the browser, or the network server will request that the files be sent from another server from which they are served to the browser.
Upon receiving the main document, the browser parses the document to identify the locations of where the text and graphic objects that make up the display page are to be located when the page is rendered. As the page begins to be rendered, the location of the cursor on the display page is identified, and it is compared with the locations of the text and graphic objects to determine which object is nearest the cursor. That object is then rendered prior to other objects on the display page, thereby enabling the user to control the order in which the objects are rendered. Preferably, the method also includes rendering placeholders corresponding to where respective objects are to appear on the display page so that the user can better select the object(s) the user desires to have rendered prior to the rendering of other objects. In addition, related objects may be rendered along with the selected (i.e., nearest to the cursor) object, which is especially beneficial when a user desires to access multiple user-input objects, such as logins requiring a user name and password or access code.
The method further enables users to selectively control whether a page is rendered using a conventional rendering scheme or using the foregoing user-controlled rendering scheme through the use of a program setting (e.g., a menu option) and/or a user interaction, such as a double click. For example, if a user double-clicks a display area or a placeholder prior to having an underlying object rendered, this would tell the browser to render the object(s) corresponding to this display area or placeholder prior to rendering other objects. In addition, the method provides for rendering of other objects while data corresponding to the selected object are being received by the browser to enhance the rendering speed of the display page. Additional aspects of the invention include a system and article of manufacture for implementing the foregoing method.